package com.oig.sys.auth.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;

import lombok.Data;

import java.util.Date;
import java.util.List;

@Schema(description = "岗位信息")
@Data
public class JobVo {
    @Schema(description = "主键id")
    private Integer id;
    @Schema(description = "岗位代码")
    private String jobCode;

    @Schema(description = "岗位名称")
    private String jobName;

    @Schema(description = "状态")
    private String status;

    @Schema(description = "所属租户id")
    private Integer tenantId;
    @Schema(description = "租户编码")
    private String tenantCode;
    @Schema(description = "所属租户")
    private String tenantName;

    @Schema(description = "所属部门id")
    private Integer departId;

    @Schema(description = "所属部门")
    private String departName;

    @Schema(description = "创建人")
    private String createUserName;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Schema(description = "创建时间")
    private Date createTime;

    @Schema(description = "最后更新人")
    private String lastUpdateName;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Schema(description = "最后更新时间")
    private Date lastUpdateTime;

    @Schema(description = "岗位角色")
    private List<RoleVo> roleList;

    public JobVo(){}

    public JobVo(Integer id, String jobCode, String jobName, String status,
                 Integer tenantId, String tenantCode,String tenantName, Integer departId, String departName,
                 String createUserName, Date createTime, String lastUpdateName, Date lastUpdateTime){
        this.id = id;
        this.jobCode = jobCode;
        this.jobName = jobName;
        this.status = status;
        this.tenantId = tenantId;
        this.tenantCode = tenantCode;
        this.tenantName = tenantName;
        this.departId = departId;
        this.departName = departName;
        this.createUserName = createUserName;
        this.createTime = createTime;
        this.lastUpdateName = lastUpdateName;
        this.lastUpdateTime = lastUpdateTime;
    }

}
